package com.itheima.d03_api_bigdecimal;

import java.math.BigDecimal;
import java.util.Base64;

public class Test {
    /*
    * 目标掌握Bi给Decimal的基本使用*/
    public static void main(String[] args) {
//        现象：浮点型数据运算，结果失真/丢失精度
        System.out.println(0.1+0.2);
        System.out.println(0.1-0.2-0.3);
        System.out.println(0.1*0.2);
        System.out.println(0.1/0.2);
        System.out.println("=============");
//        1.创建BigDecimal对象
        BigDecimal bd1 = new BigDecimal("0.1");
        BigDecimal bd2 = new BigDecimal("0.2");
   //      2.调用方法进行运算
         //加减乘除
        BigDecimal add = bd1.add(bd2);
        BigDecimal sub = bd1.subtract(bd2);
        BigDecimal mul = bd1.multiply(bd2);
        BigDecimal div = bd1.divide(bd2);
        System.out.println(add);
        System.out.println(sub);
        System.out.println(mul);
        System.out.println(div);
//        静态方法
        BigDecimal div1 = BigDecimal.valueOf(0.1).divide(BigDecimal.valueOf(0.2));
    BigDecimal add1 = bd1.add(bd2);
        System.out.println(add1);
        System.out.println(div1);
        System.out.println("=============");
        System.out.println(BigDecimal.valueOf(0.1).add(BigDecimal.valueOf(0.2)));
        System.out.println(BigDecimal.valueOf(0.1).subtract(BigDecimal.valueOf(0.2)));
        System.out.println(BigDecimal.valueOf(0.1).multiply(BigDecimal.valueOf(0.2)));
        System.out.println(BigDecimal.valueOf(0.1).divide(BigDecimal.valueOf(0.2)));

        System.out.println("=============");
//        除法存在除不尽的情况，默认保留两位小数
        System.out.println(BigDecimal.valueOf(0.1).divide(BigDecimal.valueOf(0.3), 5 , BigDecimal.ROUND_HALF_UP));

    }
}
